package com.jxtc.enterprise.common.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;

/**
 * 外卖柜信息表
 */
@Getter
@Setter
@ToString
@TableName(value = "delivery_locker")
public class DeliveryLocker {
    /**
     * uuid，主键，无实际业务功能
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 外卖柜名称，推荐使用外卖柜放置地点为名称，名称不能重复
     */
    private String name;
    /**
     * 每个外卖柜的简称（货柜编码），贴在对应的外卖柜上用于区分货柜
     */
    private String shortName;
    /**
     * 外卖柜售货机编号
     */
    private String clientNo;
    /**
     * 货柜管理系统登录账号
     */
    private String appId;
    /**
     * 货柜管理系统登录密码
     */
    private String appKey;
    /**
     * 货柜号
     */
    private Integer cab;
    /**
     * 货道起始编号
     */
    private Integer colStart;
    /**
     * 货道结束编号
     */
    private Integer colEnd;
    /**
     * 外卖柜贴标，外卖柜顶部的标号。订单打印贴纸上会使用此编号与柜号(cab)。柜号(cab)为开柜门接口参数，贴标为用来打印
     */
    private String lockerLabel;
    /**
     * 该外卖柜分配给哪个公司使用，默认值 32 个 0 表示暂未分配公司
     */
    private String companyId;
    /**
     * 外卖柜所属租户
     */
    private String tenantId;
    /**
     * 批量开柜门时，调用开柜门接口的等待间隔时间，单位：毫秒
     */
    private Integer waitInterval;
    /**
     * 软删除标记，1 表示已删除，0 表示未删除
     */
    private Boolean delFlag;
    /**
     * 创建时间，在创建时默认传值，不需要手动操作
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 更新时间，在更新时默认传值，不需要手动操作
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
